package com.ruoyi.gateway.domain;

import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 设备映射对象 iot_device_map
 *
 * @author 白向阳
 * @date 2025-09-28
 */
public class DeviceMap extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** $column.columnComment */
    private Long id;

    /** 客户端设备ID */
    @Excel(name = "客户端设备ID")
    private String clientClientId;

    /** 子设备索引，空表示网关本身 */
    @Excel(name = "子设备索引，空表示网关本身")
    private String clientDeviceIndex;

    /** 设备名称 */
    @Excel(name = "设备名称")
    private String clientDeviceName;

    /** 设备类型：gateway,subdevice */
    @Excel(name = "设备类型：gateway,subdevice")
    private String clientDeviceType;

    /** 房间编号 */
    @Excel(name = "房间编号")
    private String clientDeviceRoomNo;

    /** 平台客户端ID */
    @Excel(name = "平台客户端ID")
    private String platformClientId;

    /** 平台产品ID */
    @Excel(name = "平台产品ID")
    private String platformProductId;

    /** 平台设备序列号 */
    @Excel(name = "平台设备序列号")
    private String platformDeviceSerialNumber;

    /** 平台产品名称 */
    @Excel(name = "平台产品名称")
    private String platformProductName;

    /** 平台设备类型 */
    @Excel(name = "平台设备类型")
    private String platformDeviceType;

    public void setId(Long id)
    {
        this.id = id;
    }

    public Long getId()
    {
        return id;
    }

    public void setClientClientId(String clientClientId)
    {
        this.clientClientId = clientClientId;
    }

    public String getClientClientId()
    {
        return clientClientId;
    }

    public void setClientDeviceIndex(String clientDeviceIndex)
    {
        this.clientDeviceIndex = clientDeviceIndex;
    }

    public String getClientDeviceIndex()
    {
        return clientDeviceIndex;
    }

    public void setClientDeviceName(String clientDeviceName)
    {
        this.clientDeviceName = clientDeviceName;
    }

    public String getClientDeviceName()
    {
        return clientDeviceName;
    }

    public void setClientDeviceType(String clientDeviceType)
    {
        this.clientDeviceType = clientDeviceType;
    }

    public String getClientDeviceType()
    {
        return clientDeviceType;
    }

    public void setClientDeviceRoomNo(String clientDeviceRoomNo)
    {
        this.clientDeviceRoomNo = clientDeviceRoomNo;
    }

    public String getClientDeviceRoomNo()
    {
        return clientDeviceRoomNo;
    }

    public void setPlatformClientId(String platformClientId)
    {
        this.platformClientId = platformClientId;
    }

    public String getPlatformClientId()
    {
        return platformClientId;
    }

    public void setPlatformProductId(String platformProductId)
    {
        this.platformProductId = platformProductId;
    }

    public String getPlatformProductId()
    {
        return platformProductId;
    }

    public void setPlatformDeviceSerialNumber(String platformDeviceSerialNumber)
    {
        this.platformDeviceSerialNumber = platformDeviceSerialNumber;
    }

    public String getPlatformDeviceSerialNumber()
    {
        return platformDeviceSerialNumber;
    }

    public void setPlatformProductName(String platformProductName)
    {
        this.platformProductName = platformProductName;
    }

    public String getPlatformProductName()
    {
        return platformProductName;
    }

    public void setPlatformDeviceType(String platformDeviceType)
    {
        this.platformDeviceType = platformDeviceType;
    }

    public String getPlatformDeviceType()
    {
        return platformDeviceType;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("clientClientId", getClientClientId())
            .append("clientDeviceIndex", getClientDeviceIndex())
            .append("clientDeviceName", getClientDeviceName())
            .append("clientDeviceType", getClientDeviceType())
            .append("clientDeviceRoomNo", getClientDeviceRoomNo())
            .append("platformClientId", getPlatformClientId())
            .append("platformProductId", getPlatformProductId())
            .append("platformDeviceSerialNumber", getPlatformDeviceSerialNumber())
            .append("platformProductName", getPlatformProductName())
            .append("platformDeviceType", getPlatformDeviceType())
            .append("createTime", getCreateTime())
            .append("updateTime", getUpdateTime())
            .toString();
    }
}
